import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;

/**
 * Create by IntelliJ IDEA
 *
 * @author: jsonor
 * @date-Time: 2018/4/27 8:10
 * @description:HashMap集合添加元素、遍历
 */
public class Task11 {

  public static void main(String[] args) {
    /*1、创建HashMap对象
    * 2、添加元素
    * 3、遍历（2种方法）*/
    HashMap<Integer,String> stringHashMap=new HashMap<Integer,String>();
    stringHashMap.put(1,"张三");
    stringHashMap.put(1,"里斯");
    stringHashMap.put(2,"王五");
    stringHashMap.put(3,"王五");

    /*遍历方法1：键找值
    *    1)获取所有键的集合
    *    2)遍历键的集合，得到每一个键
    *    3)根据键到集合中去找值*/
    //得到的是所有键集合的迭代器
    Iterator iterator=stringHashMap.keySet().iterator();
    while (iterator.hasNext()){
      //循环得到每一个键
      Integer key=(Integer) iterator.next();
      //根据键来获取值
      String value=stringHashMap.get(key);
      System.out.println(key+":"+value);

    }
    /*遍历方式2：键值对对象找键和值（集合中元素多的时候，效率更高）
    *     1）获取所有键值对对象的集合
    *     2)遍历键值对对象的集合，获取每一个键值对对象
    *     3)根据键值对对象去获取键值*/
    Iterator entryIterator=stringHashMap.entrySet().iterator();
    while (entryIterator.hasNext()){
      //循环得到的是每一对键值对对象
      Map.Entry<Integer,String> entry= (Entry<Integer, String>) entryIterator.next();
      Integer key=entry.getKey();
      String value=entry.getValue();
      System.out.println(key+"--"+value);
    }
  }

}
